Package PayPalAPI.api.ebay

Source Code of PayPalAPI.api.ebay.GetTransactionDetailsResponseType

/**
* GetTransactionDetailsResponseType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.
*/

package PayPalAPI.api.ebay;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.javacommerce.paypal.ws.API;
import org.javacommerce.paypal.ws.NVPConstants;

import CoreComponentTypes.apis.ebay.BasicAmountType;
import eBLBaseComponents.apis.ebay.AckCodeType;
import eBLBaseComponents.apis.ebay.AddressOwnerCodeType;
import eBLBaseComponents.apis.ebay.AddressStatusCodeType;
import eBLBaseComponents.apis.ebay.AddressType;
import eBLBaseComponents.apis.ebay.AuctionInfoType;
import eBLBaseComponents.apis.ebay.CountryCodeType;
import eBLBaseComponents.apis.ebay.CurrencyCodeType;
import eBLBaseComponents.apis.ebay.PayPalUserStatusCodeType;
import eBLBaseComponents.apis.ebay.PayerInfoType;
import eBLBaseComponents.apis.ebay.PaymentCodeType;
import eBLBaseComponents.apis.ebay.PaymentInfoType;
import eBLBaseComponents.apis.ebay.PaymentItemInfoType;
import eBLBaseComponents.apis.ebay.PaymentItemType;
import eBLBaseComponents.apis.ebay.PaymentStatusCodeType;
import eBLBaseComponents.apis.ebay.PaymentTransactionCodeType;
import eBLBaseComponents.apis.ebay.PaymentTransactionType;
import eBLBaseComponents.apis.ebay.PendingStatusCodeType;
import eBLBaseComponents.apis.ebay.PersonNameType;
import eBLBaseComponents.apis.ebay.ReceiverInfoType;
import eBLBaseComponents.apis.ebay.ReversalReasonCodeType;
import eBLBaseComponents.apis.ebay.SeverityCodeType;
import eBLBaseComponents.apis.ebay.SubscriptionInfoType;
import eBLBaseComponents.apis.ebay.SubscriptionTermsType;

public class GetTransactionDetailsResponseType extends eBLBaseComponents.apis.ebay.AbstractResponseType implements NVPConstants, java.io.Serializable {

  private static final Log LOG = LogFactory.getLog(GetTransactionDetailsResponseType.class.getName());
 
    /**
   *
   */
  private static final long serialVersionUID = -2337157465697727778L;
  private eBLBaseComponents.apis.ebay.PaymentTransactionType paymentTransactionDetails;

    public GetTransactionDetailsResponseType() {
    }
   
    public GetTransactionDetailsResponseType(
           eBLBaseComponents.apis.ebay.PaymentTransactionType paymentTransactionDetails) {
           this.paymentTransactionDetails = paymentTransactionDetails;
    }

    public GetTransactionDetailsResponseType(InputStream _is) {
      BufferedReader reader = new BufferedReader(new InputStreamReader(_is));
      String currentLine = null;
     
      paymentTransactionDetails = new PaymentTransactionType();
      paymentTransactionDetails.setPayerInfo(new PayerInfoType());
      paymentTransactionDetails.getPayerInfo().setAddress(new AddressType());
      paymentTransactionDetails.getPayerInfo().setPayerName(new PersonNameType());
      paymentTransactionDetails.setPaymentInfo(new PaymentInfoType());
      paymentTransactionDetails.setPaymentItemInfo(new PaymentItemInfoType());
      paymentTransactionDetails.setReceiverInfo(new ReceiverInfoType());
      paymentTransactionDetails.getPaymentItemInfo().setSubscription(new SubscriptionInfoType());
      paymentTransactionDetails.getPaymentItemInfo().getSubscription().setTerms(new SubscriptionTermsType[] {new SubscriptionTermsType()});
      paymentTransactionDetails.getPaymentItemInfo().setAuction(new AuctionInfoType());
     
      Map<String, String> delayedFields = new HashMap<String, String>();
     
    try {
      while ((currentLine = reader.readLine()) != null) {
        String[] pairs = StringUtils.split(currentLine, "&");
        if (LOG.isDebugEnabled()) {
          LOG.debug("Read line [" + currentLine + "], split into " + pairs.length + " pairs.");
        }
        for (int i = 0; i < pairs.length; i++) {
          String[] nvp = StringUtils.split(pairs[i], "=");
          String name = nvp[0];
          String value = null;
          if (nvp.length == 2) {
            value = URLDecoder.decode(nvp[1], "UTF-8");
          }
          if (LOG.isDebugEnabled()) {
            LOG.debug("Read pair [" + name + "]/[" + value + "]");
          }
          if (isCommonField(name)) {
            processCommonField(name, value);
          }
          // Process fields
          else if (name.equals(FIELD_RECEIVERBUSINESS) && value != null) {
            paymentTransactionDetails.getReceiverInfo().setBusiness(value);
          }
          else if (name.equals(FIELD_RECEIVEREMAIL) && value != null) {
            paymentTransactionDetails.getReceiverInfo().setReceiver(value);
          }
          else if (name.equals(FIELD_RECEIVERID) && value != null) {
            paymentTransactionDetails.getReceiverInfo().setReceiverID(value);
          }
          else if (name.equals(FIELD_EMAIL) && value != null) {
            paymentTransactionDetails.getPayerInfo().setPayer(value);
          }
          else if (name.equals(FIELD_PAYERID) && value != null) {
            paymentTransactionDetails.getPayerInfo().setPayerID(value);
          }
          else if (name.equals(FIELD_PAYERSTATUS) && value != null) {
            paymentTransactionDetails.getPayerInfo().setPayerStatus(PayPalUserStatusCodeType.fromString(value));
          }
          else if (name.equals(FIELD_FIRSTNAME) && value != null) {
            paymentTransactionDetails.getPayerInfo().getPayerName().setFirstName(value);
          }
          else if (name.equals(FIELD_LASTNAME) && value != null) {
            paymentTransactionDetails.getPayerInfo().getPayerName().setLastName(value);
          }
          else if (name.equals(FIELD_MIDDLENAME) && value != null) {
            paymentTransactionDetails.getPayerInfo().getPayerName().setMiddleName(value);
          }
          else if (name.equals(FIELD_PAYERBUSINESS) && value != null) {
            paymentTransactionDetails.getPayerInfo().setPayerBusiness(value);
          }
          else if (name.equals(FIELD_COUNTRYCODE) && value != null) {
            paymentTransactionDetails.getPayerInfo().setPayerCountry(CountryCodeType.fromString(value));
          }
          else if (name.equals(FIELD_SALUTATION) && value != null) {
            paymentTransactionDetails.getPayerInfo().getPayerName().setSalutation(value);
          }
          else if (name.equals(FIELD_NAME) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setName(value);
          }
          else if (name.equals(FIELD_SUFFIX) && value != null) {
            paymentTransactionDetails.getPayerInfo().getPayerName().setSuffix(value);
          }
          else if (name.equals(FIELD_ADDRESSOWNER) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setAddressOwner(AddressOwnerCodeType.fromString(value));
          }
          else if (name.equals(FIELD_ADDRESSID) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setAddressID(value);
          }
          else if (name.equals(FIELD_ADDRESSSTATUS) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setAddressStatus(AddressStatusCodeType.fromString(value));
          }
          else if (name.equals(FIELD_SHIPTOCITY) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setCityName(value);
          }
          else if (name.equals(FIELD_SHIPTOCOUNTRY) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setCountry(CountryCodeType.fromString(value));
          }
          else if (name.equals(FIELD_SHIPTOCOUNTRYNAME) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setCountryName(value);
          }
          else if (name.equals(FIELD_SHIPTONAME) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setName(value);
          }
          else if (name.equals(FIELD_SHIPTOPHONENUM) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setPhone(value);
          }
          else if (name.equals(FIELD_SHIPTOZIP) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setPostalCode(value);
          }
          else if (name.equals(FIELD_SHIPTOSTATE) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setStateOrProvince(value);
          }
          else if (name.equals(FIELD_SHIPTOSTREET) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setStreet1(value);
          }
          else if (name.equals(FIELD_SHIPTOSTREET2) && value != null) {
            paymentTransactionDetails.getPayerInfo().getAddress().setStreet2(value);
          }
          else if (name.equals(FIELD_PARENTTRANSACTIONID) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setParentTransactionID(value);
          }
          else if (name.equals(FIELD_TRANSACTIONID) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setTransactionID(value);
          }
          else if (name.equals(FIELD_RECEIPTID) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setReceiptID(value);
          }
          else if (name.equals(FIELD_TRANSACTIONTYPE) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setTransactionType(PaymentTransactionCodeType.fromString(value));
          }
          else if (name.equals(FIELD_PAYMENTTYPE) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setPaymentType(PaymentCodeType.fromString(value));
          }
          else if (name.equals(FIELD_PAYMENTDATE) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setPaymentDate(API.apiStringToCalendar(value));
          }
          else if (name.equals(FIELD_ORDERTIME) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setPaymentDate(API.apiStringToCalendar(value));
          }
          else if (name.equals(FIELD_AMT) && value != null) {
            delayedFields.put(name, value);
          }
          else if (name.equals(FIELD_CURRENCYCODE) && value != null) {
            delayedFields.put(name, value);
          }
          else if (name.equals(FIELD_FEEAMT) && value != null) {
            delayedFields.put(name, value);
          }
          else if (name.equals(FIELD_SETTLEAMOUNT) && value != null) {
            delayedFields.put(name, value);
          }
          else if (name.equals(FIELD_TAXAMOUNT) && value != null) {
            delayedFields.put(name, value);
          }
          else if (name.equals(FIELD_EXCHANGERATE) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setExchangeRate(value);
          }
          else if (name.equals(FIELD_PAYMENTSTATUS) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setPaymentStatus(PaymentStatusCodeType.fromString(value));
          }
          else if (name.equals(FIELD_PENDINGREASON) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setPendingReason(PendingStatusCodeType.fromString(value));
          }
          else if (name.equals(FIELD_REASONCODE) && value != null) {
            paymentTransactionDetails.getPaymentInfo().setReasonCode(ReversalReasonCodeType.fromString(value));
          }
          else if (name.equals(FIELD_INVNUM) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().setInvoiceID(value);
          }
          else if (name.equals(FIELD_CUSTOM) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().setCustom(value);
          }
          else if (name.equals(FIELD_NOTE) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().setMemo(value);
          }
          else if (name.equals(FIELD_SALESTAX) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().setSalesTax(value);
          }
          else if (name.equals(FIELD_SUBSCRIPTIONID) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setSubscriptionID(value);
          }
          else if (name.equals(FIELD_SUBSCRIPTIONDATE) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setSubscriptionDate(API.apiStringToCalendar(value));
          }
          else if (name.equals(FIELD_EFFECTIVEDATE) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setEffectiveDate(API.apiStringToCalendar(value));
          }
          else if (name.equals(FIELD_RETRYTIME) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setRetryTime(API.apiStringToCalendar(value));
          }
          else if (name.equals(FIELD_USERNAME) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setUsername(value);
          }
          else if (name.equals(FIELD_PASSWORD) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setPassword(value);
          }
          else if (name.equals(FIELD_RECURRENCES) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setRecurrences(value);
          }
          else if (name.equals(FIELD_REATTEMPT) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setReattempt(value);
          }
          else if (name.equals(FIELD_RECURRING) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().setRecurring(value);
          }
          else if (name.equals(FIELD_PERIOD) && value != null) {
            // TODO: Check if this is 1 or many
            paymentTransactionDetails.getPaymentItemInfo().getSubscription().getTerms(0).setPeriod(value);
          }
          // TODO: What about Terms.Amount?
          else if (name.equals(FIELD_BUYERID) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getAuction().setBuyerID(value);
          }
          else if (name.equals(FIELD_CLOSINGDATE) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getAuction().setClosingDate(API.apiStringToCalendar(value));
          }
          else if (name.equals(FIELD_MULTIITEM) && value != null) {
            paymentTransactionDetails.getPaymentItemInfo().getAuction().setMultiItem(value);
          }
          // Start processing Line Items
          else if (name.startsWith(FIELD_L_DESC) && value != null) {
            addLineItemDescription(name, value);
          }
          else if (name.startsWith(FIELD_L_NUMBER) && value != null) {
            addLineItemNumber(name, value);
          }
          else if (name.startsWith(FIELD_L_QTY) && value != null) {
            addLineItemQuantity(name, value);
          }
          else if (name.startsWith(FIELD_L_AMT) && value != null) {
            addLineItemAmount(name, value);
          }
          else if (name.startsWith(FIELD_L_OPTIONS) && value != null) {
            addLineItemOptions(name, value);
          }
        }
       
        // Process the delayed fields
        if (delayedFields.containsKey(FIELD_AMT)) {
          BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_AMT));
          if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
            amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
          }
          getPaymentTransactionDetails().getPaymentInfo().setGrossAmount(amount);
        }
        if (delayedFields.containsKey(FIELD_FEEAMT)) {
          BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_FEEAMT));
          if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
            amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
          }
          getPaymentTransactionDetails().getPaymentInfo().setFeeAmount(amount);
        }
        if (delayedFields.containsKey(FIELD_SETTLEAMOUNT)) {
          BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_SETTLEAMOUNT));
          if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
            amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
          }
          getPaymentTransactionDetails().getPaymentInfo().setSettleAmount(amount);         
        }
        if (delayedFields.containsKey(FIELD_TAXAMOUNT)) {
          BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_TAXAMOUNT));
          if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
            amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
          }
          getPaymentTransactionDetails().getPaymentInfo().setTaxAmount(amount);         
        }
      }
    } catch (Exception e) {
      if (LOG.isErrorEnabled()) {
        LOG.error("Exception caught processing response: " + e.getLocalizedMessage(), e);
      }
      setAck(AckCodeType.Failure);
      addSeverityCode("L_SEVERITYCODE0", SeverityCodeType.Error.toString());
      addErrorCode("L_ERRORCODE0", "JC1000");
      addLongMessage("L_LONGMESSAGE0", "Error processing GetTransactionDetails API call");
      addShortMessage("L_SHORTMESSAGE0", "Error processing request");
    }     
    }
   
    private void addLineItemOptions(String _name, String _value) {
         int lineNum = Integer.parseInt(StringUtils.replace(_name, FIELD_L_OPTIONS, ""));
      if (paymentTransactionDetails.getPaymentItemInfo().getPaymentItem().length <= lineNum) {
        addLineItems(lineNum);
      }
      // TODO: How to convert Options to array?
    // paymentTransactionDetails.getPaymentItemInfo().getPaymentItem(lineNum).(_value);
    }
   
    private void addLineItemAmount(String _name, String _value) {
         int lineNum = Integer.parseInt(StringUtils.replace(_name, FIELD_L_AMT, ""));
      if (paymentTransactionDetails.getPaymentItemInfo().getPaymentItem().length <= lineNum) {
        addLineItems(lineNum);
      }
      paymentTransactionDetails.getPaymentItemInfo().getPaymentItem(lineNum).setAmount(new BasicAmountType(_value));
    }
   
  private void addLineItemQuantity(String _name, String _value) {
       int lineNum = Integer.parseInt(StringUtils.replace(_name, FIELD_L_QTY, ""));
      if (paymentTransactionDetails.getPaymentItemInfo().getPaymentItem().length <= lineNum) {
        addLineItems(lineNum);
      }
    paymentTransactionDetails.getPaymentItemInfo().getPaymentItem(lineNum).setQuantity(_value);
  }
   
    private void addLineItemNumber(String _name, String _value) {
         int lineNum = Integer.parseInt(StringUtils.replace(_name, FIELD_L_NUMBER, ""));
      if (paymentTransactionDetails.getPaymentItemInfo().getPaymentItem().length <= lineNum) {
        addLineItems(lineNum);
      }
    paymentTransactionDetails.getPaymentItemInfo().getPaymentItem(lineNum).setNumber(_value);
    }
   
    private void addLineItemDescription(String _name, String _value) {
      int lineNum = Integer.parseInt(StringUtils.replace(_name, FIELD_L_DESC, ""));
      if (paymentTransactionDetails.getPaymentItemInfo().getPaymentItem() == null || paymentTransactionDetails.getPaymentItemInfo().getPaymentItem().length <= lineNum) {
        addLineItems(lineNum);
      }
    paymentTransactionDetails.getPaymentItemInfo().getPaymentItem(lineNum).setName(_value);
    }

    private void addLineItems(int _num) {
      ArrayList<PaymentItemType> lines = new ArrayList<PaymentItemType>();
      int counter = 0;
      if (paymentTransactionDetails.getPaymentItemInfo().getPaymentItem() != null) {
        for (int i = counter; i < paymentTransactionDetails.getPaymentItemInfo().getPaymentItem().length; i++) {
          lines.add(i, paymentTransactionDetails.getPaymentItemInfo().getPaymentItem(i));
          counter++;
        }
        for (int i = counter; i < _num; i++) {
          lines.add(i, new PaymentItemType());
        }
      }
      else {
        lines.add(new PaymentItemType());
      }
     
      paymentTransactionDetails.getPaymentItemInfo().setPaymentItem((PaymentItemType[]) lines.toArray(new PaymentItemType[lines.size()]));
    }

    /**
     * Gets the paymentTransactionDetails value for this GetTransactionDetailsResponseType.
     *
     * @return paymentTransactionDetails
     */
    public eBLBaseComponents.apis.ebay.PaymentTransactionType getPaymentTransactionDetails() {
        return paymentTransactionDetails;
    }


    /**
     * Sets the paymentTransactionDetails value for this GetTransactionDetailsResponseType.
     *
     * @param paymentTransactionDetails
     */
    public void setPaymentTransactionDetails(eBLBaseComponents.apis.ebay.PaymentTransactionType paymentTransactionDetails) {
        this.paymentTransactionDetails = paymentTransactionDetails;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof GetTransactionDetailsResponseType)) return false;
        GetTransactionDetailsResponseType other = (GetTransactionDetailsResponseType) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = super.equals(obj) &&
            ((this.paymentTransactionDetails==null && other.getPaymentTransactionDetails()==null) ||
             (this.paymentTransactionDetails!=null &&
              this.paymentTransactionDetails.equals(other.getPaymentTransactionDetails())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = super.hashCode();
        if (getPaymentTransactionDetails() != null) {
            _hashCode += getPaymentTransactionDetails().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

}
TOP

Related Classes of PayPalAPI.api.ebay.GetTransactionDetailsResponseType

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.